<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
/**
*  \file        Omc_ext_interfaces.arxml
*
*  \brief       BMW SWC OMC
*
*  This file is a template for the software component description file
*  for usage in the BMW AUTOSAR Core.
*
*  \project     BMW Platform Software
*
*  \copyright   BMW AG 2015 - 2017
*
*  \version     5.2.0
*
*  \remarks     The content of this file only serves as an example. If this
*               file is platform dependent, this shall be mentioned here.
*
*/
-->
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_4-2-2_STRICT_COMPACT.xsd">
  <AR-PACKAGES>
    <AR-PACKAGE>
      <SHORT-NAME>BMW</SHORT-NAME>
      <AR-PACKAGES>
        <AR-PACKAGE>
          <SHORT-NAME>Platform</SHORT-NAME>
          <AR-PACKAGES>
            <AR-PACKAGE>
              <SHORT-NAME>Omc</SHORT-NAME>
              <AR-PACKAGES>
                <AR-PACKAGE>
                  <SHORT-NAME>Dcm</SHORT-NAME>
                  <AR-PACKAGES>
                    <AR-PACKAGE>
                      <SHORT-NAME>CompuMethods</SHORT-NAME>
                      <ELEMENTS>
                        <COMPU-METHOD>
                          <SHORT-NAME>CM_NegativeResponseType</SHORT-NAME>
                          <CATEGORY>TEXTTABLE</CATEGORY>
                          <COMPU-INTERNAL-TO-PHYS>
                            <COMPU-SCALES>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">16</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">16</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_GENERALREJECT</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">33</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">33</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_BUSYREPEATREQUEST</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">34</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">34</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_CONDITIONSNOTCORRECT</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">36</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">36</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_REQUESTSEQUENCEERROR</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">49</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">49</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_REQUESTOUTOFRANGE</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">51</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">51</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_SECURITYACCESSDENIED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">114</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">114</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_GENERALPROGRAMMINGFAILURE</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">126</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">126</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_SUBFUNCTIONNOTSUPPORTEDINACTIVESESSION</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">129</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">129</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_RPMTOOHIGH</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">130</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">130</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_RPMTOOLOW</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">131</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">131</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_ENGINEISRUNNING</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">132</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">132</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_ENGINEISNOTRUNNING</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">133</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">133</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_ENGINERUNTIMETOOLOW</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">134</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">134</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_TEMPERATURETOOHIGH</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">135</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">135</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_TEMPERATURETOOLOW</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">136</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">136</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_VEHICLESPEEDTOOHIGH</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">137</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">137</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_VEHICLESPEEDTOOLOW</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">138</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">138</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_THROTTLE_PEDALTOOHIGH</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">139</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">139</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_THROTTLE_PEDALTOOLOW</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">140</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">140</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_TRANSMISSIONRANGENOTINNEUTRAL</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">141</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">141</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_TRANSMISSIONRANGENOTINGEAR</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">143</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">143</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_BRAKESWITCH_NOTCLOSED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">144</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">144</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_SHIFTERLEVERNOTINPARK</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">145</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">145</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_TORQUECONVERTERCLUTCHLOCKED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">146</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">146</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_VOLTAGETOOHIGH</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">147</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">147</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_E_VOLTAGETOOLOW</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                            </COMPU-SCALES>
                          </COMPU-INTERNAL-TO-PHYS>
                        </COMPU-METHOD>
                        <COMPU-METHOD>
                          <SHORT-NAME>CM_OpStatusType</SHORT-NAME>
                          <CATEGORY>TEXTTABLE</CATEGORY>
                          <COMPU-INTERNAL-TO-PHYS>
                            <COMPU-SCALES>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_INITIAL</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_PENDING</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_CANCEL</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">3</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">3</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DCM_FORCE_RCRRP_OK</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                            </COMPU-SCALES>
                          </COMPU-INTERNAL-TO-PHYS>
                        </COMPU-METHOD>
                      </ELEMENTS>
                    </AR-PACKAGE>
                    <AR-PACKAGE>
                      <SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
                      <ELEMENTS>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>Dcm_NegativeResponseCodeType</SHORT-NAME>
                          <CATEGORY>TYPE_REFERENCE</CATEGORY>
                          <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                              <SW-DATA-DEF-PROPS-CONDITIONAL>
                                <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/Dcm/CompuMethods/CM_NegativeResponseType</COMPU-METHOD-REF>
                                <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                              </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                          </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>OpStatusType</SHORT-NAME>
                          <CATEGORY>TYPE_REFERENCE</CATEGORY>
                          <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                              <SW-DATA-DEF-PROPS-CONDITIONAL>
                                <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/Dcm/CompuMethods/CM_OpStatusType</COMPU-METHOD-REF>
                                <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                              </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                          </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>UInt8_Array1</SHORT-NAME>
                          <CATEGORY>ARRAY</CATEGORY>
                          <SUB-ELEMENTS>
                            <IMPLEMENTATION-DATA-TYPE-ELEMENT>
                              <SHORT-NAME>data</SHORT-NAME>
                              <CATEGORY>TYPE_REFERENCE</CATEGORY>
                              <ARRAY-SIZE>1</ARRAY-SIZE>
                              <ARRAY-SIZE-SEMANTICS>FIXED-SIZE</ARRAY-SIZE-SEMANTICS>
                              <SW-DATA-DEF-PROPS>
                                <SW-DATA-DEF-PROPS-VARIANTS>
                                  <SW-DATA-DEF-PROPS-CONDITIONAL>
                                    <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                                  </SW-DATA-DEF-PROPS-CONDITIONAL>
                                </SW-DATA-DEF-PROPS-VARIANTS>
                              </SW-DATA-DEF-PROPS>
                            </IMPLEMENTATION-DATA-TYPE-ELEMENT>
                          </SUB-ELEMENTS>
                        </IMPLEMENTATION-DATA-TYPE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                    <AR-PACKAGE>
                      <SHORT-NAME>PortInterfaces</SHORT-NAME>
                      <ELEMENTS>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>DataServices_ExtendedOperatingMode</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ConditionCheckRead</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ErrorCode</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/Dcm_NegativeResponseCodeType</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/DataServices_ExtendedOperatingMode/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ReadData</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>Data</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/UInt8_Array1</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARRAY-BASE-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/DataServices_ExtendedOperatingMode/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>DataServices_OperatingMode</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ConditionCheckRead</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ErrorCode</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/Dcm_NegativeResponseCodeType</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/DataServices_OperatingMode/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ReadData</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>Data</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/UInt8_Array1</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARRAY-BASE-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/DataServices_OperatingMode/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>RoutineServices_ExtendedOperatingModeControl</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>Start</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ExtendedOperatingMode</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>OpStatus</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/OpStatusType</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ErrorCode</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/Dcm_NegativeResponseCodeType</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/RoutineServices_ExtendedOperatingModeControl/DCM_E_PENDING</POSSIBLE-ERROR-REF>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/RoutineServices_ExtendedOperatingModeControl/E_NOT_OK</POSSIBLE-ERROR-REF>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/RoutineServices_ExtendedOperatingModeControl/DCM_E_FORCE_RCRRP</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>DCM_E_PENDING</SHORT-NAME>
                              <ERROR-CODE>10</ERROR-CODE>
                            </APPLICATION-ERROR>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>DCM_E_FORCE_RCRRP</SHORT-NAME>
                              <ERROR-CODE>12</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>RoutineServices_OperatingModeControl</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>Start</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>OperatingMode</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>OpStatus</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/OpStatusType</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ErrorCode</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dcm/ImplementationDataTypes/Dcm_NegativeResponseCodeType</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/RoutineServices_OperatingModeControl/DCM_E_PENDING</POSSIBLE-ERROR-REF>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/RoutineServices_OperatingModeControl/E_NOT_OK</POSSIBLE-ERROR-REF>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dcm/PortInterfaces/RoutineServices_OperatingModeControl/DCM_E_FORCE_RCRRP</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>DCM_E_PENDING</SHORT-NAME>
                              <ERROR-CODE>10</ERROR-CODE>
                            </APPLICATION-ERROR>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>DCM_E_FORCE_RCRRP</SHORT-NAME>
                              <ERROR-CODE>12</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                  </AR-PACKAGES>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>Dem</SHORT-NAME>
                  <AR-PACKAGES>
                    <AR-PACKAGE>
                      <SHORT-NAME>CompuMethods</SHORT-NAME>
                      <ELEMENTS>
                        <COMPU-METHOD>
                          <SHORT-NAME>CM_Dem_EventStatusType</SHORT-NAME>
                          <CATEGORY>TEXTTABLE</CATEGORY>
                          <COMPU-INTERNAL-TO-PHYS>
                            <COMPU-SCALES>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DEM_EVENT_STATUS_PASSED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DEM_EVENT_STATUS_FAILED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DEM_EVENT_STATUS_PREPASSED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">3</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">3</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DEM_EVENT_STATUS_PREFAILED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">4</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">4</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                            </COMPU-SCALES>
                          </COMPU-INTERNAL-TO-PHYS>
                        </COMPU-METHOD>
                      </ELEMENTS>
                    </AR-PACKAGE>
                    <AR-PACKAGE>
                      <SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
                      <ELEMENTS>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>Dem_EventStatusType</SHORT-NAME>
                          <CATEGORY>TYPE_REFERENCE</CATEGORY>
                          <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                              <SW-DATA-DEF-PROPS-CONDITIONAL>
                                <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/Dem/CompuMethods/CM_Dem_EventStatusType</COMPU-METHOD-REF>
                                <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                              </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                          </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                    <AR-PACKAGE>
                      <SHORT-NAME>PortInterfaces</SHORT-NAME>
                      <ELEMENTS>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>CallbackClearEventAllowed</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ClearEventAllowed</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>Allowed</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/boolean</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dem/PortInterfaces/CallbackClearEventAllowed/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>EnableCondition</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>SetEnableCondition</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ConditionFulfilled</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/boolean</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dem/PortInterfaces/EnableCondition/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                              </OPERATIONS>
                              <POSSIBLE-ERRORS>
                                <APPLICATION-ERROR>
                                  <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                                  <ERROR-CODE>1</ERROR-CODE>
                                </APPLICATION-ERROR>
                              </POSSIBLE-ERRORS>
                            </CLIENT-SERVER-INTERFACE>
                            <CLIENT-SERVER-INTERFACE>
                              <SHORT-NAME>Omc_DiagnosticMonitor</SHORT-NAME>
                              <IS-SERVICE>true</IS-SERVICE>
                              <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>SetEventStatus</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>EventStatus</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/Dem/ImplementationDataTypes/Dem_EventStatusType</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dem/PortInterfaces/Omc_DiagnosticMonitor/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ResetEventStatus</SHORT-NAME>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Dem/PortInterfaces/Omc_DiagnosticMonitor/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                  </AR-PACKAGES>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>Det</SHORT-NAME>
                  <AR-PACKAGES>
                    <AR-PACKAGE>
                      <SHORT-NAME>PortInterfaces</SHORT-NAME>
                      <ELEMENTS>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>DETService</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>ReportError</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>InstanceId</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ApiId</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ErrorId</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                  <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/Det/PortInterfaces/DETService/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                  </AR-PACKAGES>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>NvM</SHORT-NAME>
                  <AR-PACKAGES>
                    <AR-PACKAGE>
                      <SHORT-NAME>CompuMethods</SHORT-NAME>
                      <ELEMENTS>
                        <COMPU-METHOD>
                          <SHORT-NAME>CM_RequestResultType</SHORT-NAME>
                          <CATEGORY>TEXTTABLE</CATEGORY>
                          <COMPU-INTERNAL-TO-PHYS>
                            <COMPU-SCALES>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_OK</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_NOT_OK</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_PENDING</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">3</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">3</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_INTEGRITY_FAILED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">4</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">4</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_BLOCK_SKIPPED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">5</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">5</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_NV_INVALIDATED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">6</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">6</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_CANCELED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">7</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">7</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_REDUNDANCY_FAILED</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                              <COMPU-SCALE>
                                <LOWER-LIMIT INTERVAL-TYPE="CLOSED">8</LOWER-LIMIT>
                                <UPPER-LIMIT INTERVAL-TYPE="CLOSED">8</UPPER-LIMIT>
                                <COMPU-CONST>
                                  <VT>NVM_REQ_RESTORED_FROM_ROM</VT>
                                </COMPU-CONST>
                              </COMPU-SCALE>
                            </COMPU-SCALES>
                          </COMPU-INTERNAL-TO-PHYS>
                        </COMPU-METHOD>
                      </ELEMENTS>
                    </AR-PACKAGE>
                    <AR-PACKAGE>
                      <SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
                      <ELEMENTS>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>DstPtrType</SHORT-NAME>
                          <CATEGORY>DATA_REFERENCE</CATEGORY>
                          <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                              <SW-DATA-DEF-PROPS-CONDITIONAL>
                                <SW-POINTER-TARGET-PROPS>
                                  <TARGET-CATEGORY>VALUE</TARGET-CATEGORY>
                                  <SW-DATA-DEF-PROPS>
                                    <SW-DATA-DEF-PROPS-VARIANTS>
                                      <SW-DATA-DEF-PROPS-CONDITIONAL>
                                        <BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR_Platform/BaseTypes/void</BASE-TYPE-REF>
                                      </SW-DATA-DEF-PROPS-CONDITIONAL>
                                    </SW-DATA-DEF-PROPS-VARIANTS>
                                  </SW-DATA-DEF-PROPS>
                                </SW-POINTER-TARGET-PROPS>
                              </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                          </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>RequestResultType</SHORT-NAME>
                          <CATEGORY>TYPE_REFERENCE</CATEGORY>
                          <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                              <SW-DATA-DEF-PROPS-CONDITIONAL>
                                <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/NvM/CompuMethods/CM_RequestResultType</COMPU-METHOD-REF>
                                <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                              </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                          </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
                        <IMPLEMENTATION-DATA-TYPE>
                          <SHORT-NAME>SrcPtrType</SHORT-NAME>
                          <CATEGORY>DATA_REFERENCE</CATEGORY>
                          <SW-DATA-DEF-PROPS>
                            <SW-DATA-DEF-PROPS-VARIANTS>
                              <SW-DATA-DEF-PROPS-CONDITIONAL>
                                <SW-POINTER-TARGET-PROPS>
                                  <TARGET-CATEGORY>VALUE</TARGET-CATEGORY>
                                  <SW-DATA-DEF-PROPS>
                                    <SW-DATA-DEF-PROPS-VARIANTS>
                                      <SW-DATA-DEF-PROPS-CONDITIONAL>
                                        <BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR_Platform/BaseTypes/void</BASE-TYPE-REF>
                                        <SW-IMPL-POLICY>CONST</SW-IMPL-POLICY>
                                      </SW-DATA-DEF-PROPS-CONDITIONAL>
                                    </SW-DATA-DEF-PROPS-VARIANTS>
                                  </SW-DATA-DEF-PROPS>
                                </SW-POINTER-TARGET-PROPS>
                              </SW-DATA-DEF-PROPS-CONDITIONAL>
                            </SW-DATA-DEF-PROPS-VARIANTS>
                          </SW-DATA-DEF-PROPS>
                        </IMPLEMENTATION-DATA-TYPE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                    <AR-PACKAGE>
                      <SHORT-NAME>PortInterfaces</SHORT-NAME>
                      <ELEMENTS>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>NvMNotifyJobFinished</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>JobFinished</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>ServiceId</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                </ARGUMENT-DATA-PROTOTYPE>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>JobResult</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/NvM/ImplementationDataTypes/RequestResultType</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/NvM/PortInterfaces/NvMNotifyJobFinished/E_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_OK</SHORT-NAME>
                              <ERROR-CODE>0</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                        <CLIENT-SERVER-INTERFACE>
                          <SHORT-NAME>NvMService_OMC</SHORT-NAME>
                          <IS-SERVICE>true</IS-SERVICE>
                          <OPERATIONS>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>GetErrorStatus</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>RequestResultPtr</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/NvM/ImplementationDataTypes/RequestResultType</TYPE-TREF>
                                  <DIRECTION>OUT</DIRECTION>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/NvM/PortInterfaces/NvMService_OMC/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>SetRamBlockStatus</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>BlockChanged</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/boolean</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/NvM/PortInterfaces/NvMService_OMC/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                            <CLIENT-SERVER-OPERATION>
                              <SHORT-NAME>WriteBlock</SHORT-NAME>
                              <ARGUMENTS>
                                <ARGUMENT-DATA-PROTOTYPE>
                                  <SHORT-NAME>SrcPtr</SHORT-NAME>
                                  <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/NvM/ImplementationDataTypes/SrcPtrType</TYPE-TREF>
                                  <DIRECTION>IN</DIRECTION>
                                </ARGUMENT-DATA-PROTOTYPE>
                              </ARGUMENTS>
                              <POSSIBLE-ERROR-REFS>
                                <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/NvM/PortInterfaces/NvMService_OMC/E_NOT_OK</POSSIBLE-ERROR-REF>
                              </POSSIBLE-ERROR-REFS>
                            </CLIENT-SERVER-OPERATION>
                          </OPERATIONS>
                          <POSSIBLE-ERRORS>
                            <APPLICATION-ERROR>
                              <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                              <ERROR-CODE>1</ERROR-CODE>
                            </APPLICATION-ERROR>
                          </POSSIBLE-ERRORS>
                        </CLIENT-SERVER-INTERFACE>
                      </ELEMENTS>
                    </AR-PACKAGE>
                  </AR-PACKAGES>
                </AR-PACKAGE>
              </AR-PACKAGES>
            </AR-PACKAGE>
          </AR-PACKAGES>
        </AR-PACKAGE>
      </AR-PACKAGES>
    </AR-PACKAGE>
  </AR-PACKAGES>
</AUTOSAR>
